10 PRINT"[147] ********************************" 20 PRINT" * *" 30 PRINT" * READ VIZAWRITE *" 40 PRINT" * *" 50 PRINT" * VON KLAUS HECK *" 60 PRINT" * *" 70 PRINT" ********************************" 80 : 90 REM ------------------------------ 100 REM VIZAWRITE-FILE OEFFNEN 110 PRINT" WELCHES VIZAWRITE-FILE SOLL EINGELESEN WERDEN" 120 INPUTNA$ 130 OPEN15,8,15 140 OPEN1,8,5,NA$+",P,R" 150 GOSUB3190 160 PRINT" TEXTAUSGABE AUF BILDSCHIRM : 3" 170 PRINT" TEXTAUSGABE AUF SEQ-DATEI : 8" 180 GETGE$:IFGE$=""THEN180 190 GE=VAL(GE$) 200 IFGE=3THENOPEN2,GE 210 IFGE=8THENOPEN2,GE,2,"@:SEQ "+NA$+",S,W" 220 GOSUB3190 230 IFGE<>3ANDGE<>8THEN160 240 : 250 REM ------------------------------ 260 REM UMSCHALTUNG GROSS/KLEIN 270 PRINT"[147]" 280 POKE53272,23 290 : 300 REM ------------------------------ 310 REM VORSPANN EINLESEN 320 : 330 REM PRUEFEN AUF VIZAWRITE (0-3) 340 GET#1,A$:IFA$=""THENA$=CHR$(0) 350 GOSUB3190 360 IFASC(A$)<>86THEN3130 370 GET#1,A$:IFA$=""THENA$=CHR$(0) 380 IFASC(A$)<>255THEN3130 390 GET#1,A$:IFA$=""THENA$=CHR$(0) 400 IFASC(A$)<>86THEN3130 410 GET#1,A$:IFA$=""THENA$=CHR$(0) 420 IFASC(A$)<>87THEN3130 430 : 440 REM ANZAHL ZEICHEN (4,5) 450 GET#1,LB$:IFLB$=""THENLB$=CHR$(0) 460 GET#1,HB$:IFHB$=""THENHB$=CHR$(0) 470 ZE=ASC(LB$)+ASC(HB$)*256 480 PRINT" [193]NZ. [218]EICHEN IM [212]EXT ";ZE 490 : 500 REM ANZAHL SEITEN (6,7) 510 GET#1,LB$:IFLB$=""THENLB$=CHR$(0) 520 GET#1,HB$:IFHB$=""THENHB$=CHR$(0) 530 SE=ASC(LB$)+ASC(HB$)*256 540 SE=SE-2 550 PRINT" [193]NZ. [212]EXTSEITEN ";SE 560 : 570 REM DUMMY (8-14) 580 FORJ=8TO14 590 GET#1,A$:IFA$=""THENA$=CHR$(0) 600 NEXT 610 : 620 REM DATEINAMEN (15-31) 630 I=14:AA$="" 640 GET#1,A$:IFA$=""THENA$=CHR$(0) 650 I=I+1 660 IFASC(A$)=96THEN690 670 AA$=AA$+A$ 680 GOTO640 690 PRINT" [198]ILENAME ";AA$ 700 I=I+1:IFI>30THEN750 710 FORJ=ITO31 720 GET#1,A$:IFA$=""THENA$=CHR$(0) 730 NEXT 740 : 750 REM PRINTER TYPE (32,33) 760 GET#1,A$:IFA$=""THENA$=CHR$(0) 770 GET#1,HB$:IFHB$=""THENHB$=CHR$(0) 780 IFASC(A$)>0ANDASC(A$)<27THENA$=CHR$(ASC(A$)+64):GOTO800 790 IFASC(A$)>64ANDASC(A$)<123THENA$=CHR$(ASC(A$)+128) 800 PRINT" [196]RUCKER [212]YP ";A$ 810 : 820 REM DUMMY (34) 830 GET#1,A$:IFA$=""THENA$=CHR$(0) 840 : 850 REM FORM FEED (35) 860 GET#1,A$:IFA$=""THENA$=CHR$(0) 870 A$=CHR$(ASC(A$)+64) 880 PRINT" [198]ORMULAR [214]ORSCHUB ";A$ 890 : 900 REM AUTO L/FEED (36) 910 GET#1,A$:IFA$=""THENA$=CHR$(0) 920 IFASC(A$)>0ANDASC(A$)<27THENA$=CHR$(ASC(A$)+64):GOTO940 930 IFASC(A$)>64ANDASC(A$)<123THENA$=CHR$(ASC(A$)+128) 940 PRINT" [193]UTO. [218]EILENVORSCHUB ";A$ 950 : 960 REM FORM LENGTH (37,38) 970 GET#1,LB$:IFLB$=""THENLB$=CHR$(0) 980 GET#1,HB$:IFHB$=""THENHB$=CHR$(0) 990 D=ASC(LB$)+ASC(HB$)*256 1000 PRINT" [198]ORMULARLAENGE ";D 1010 : 1020 REM SINGLE (39) 1030 GET#1,A$:IFA$=""THENA$=CHR$(0) 1040 A$=CHR$(ASC(A$)+64) 1050 PRINT" [197]INZELBLATT ";A$ 1060 : 1070 REM OFFSET (40,41) 1080 GET#1,LB$:IFLB$=""THENLB$=CHR$(0) 1090 GET#1,HB$:IFHB$=""THENHB$=CHR$(0) 1100 D=ASC(LB$)+ASC(HB$)*256 1110 PRINT" LINKER [196]RUCKRAND AB ";D 1120 : 1130 REM HEADER (42) 1140 GET#1,A$:IFA$=""THENA$=CHR$(0) 1150 A$=CHR$(ASC(A$)+64) 1160 PRINT" [203]OPFZEILE ";A$ 1170 : 1180 REM DUMMY (43) 1190 GET#1,A$:IFA$=""THENA$=CHR$(0) 1200 : 1210 REM PITCH (44,45) 1220 GET#1,LB$:IFLB$=""THENLB$=CHR$(0) 1230 GET#1,HB$:IFHB$=""THENHB$=CHR$(0) 1240 D=ASC(LB$)+ASC(HB$)*256 1250 PRINT" [211]CHRIFTART ";D 1260 : 1270 REM LINES/INCH (46,47) 1280 GET#1,LB$:IFLB$=""THENLB$=CHR$(0) 1290 GET#1,HB$:IFHB$=""THENHB$=CHR$(0) 1300 D=ASC(LB$)+ASC(HB$)*256 1310 PRINT" [218]EILEN/INCH ";D 1320 : 1330 REM JUSTIFICATION (48) 1340 GET#1,A$:IFA$=""THENA$=CHR$(0) 1350 A$=CHR$(ASC(A$)+64) 1360 PRINT" [210]ANDAUSGLEICH ";A$ 1370 : 1380 REM GLOBAL/FILL (49) 1390 GET#1,GF$:IFGF$=""THENGF$=CHR$(0) 1400 IFASC(GF$)=32THEN1420 1410 GF$=CHR$(ASC(GF$)+64) 1420 PRINT" [212]EXT ANH./EINF. ";GF$ 1430 : 1440 REM DATEINAMEN (50-66) 1450 I=49:NA$="" 1460 GET#1,A$:IFA$=""THENA$=CHR$(0) 1470 I=I+1 1480 IFASC(A$)=96THEN1530 1490 IFASC(A$)>0ANDASC(A$)<27THENA$=CHR$(ASC(A$)+64):GOTO1510 1500 IFASC(A$)>64ANDASC(A$)<123THENA$=CHR$(ASC(A$)+128) 1510 NA$=NA$+A$ 1520 GOTO1460 1530 PRINT" NAECHSTES [198]ILE ";NA$ 1540 I=I+1:IFI>65THEN1580 1550 FORJ=ITO66 1560 GET#1,A$:IFA$=""THENA$=CHR$(0) 1570 NEXT 1580 : 1590 REM TEXT COLOUR (67) 1600 GET#1,A$:IFA$=""THENA$=CHR$(0) 1610 D=1:GOSUB2840 1620 PRINT" [198]ARBE [212]EXT ";COL$ 1630 : 1640 REM BORDER COLOUR (68) 1650 GET#1,A$:IFA$=""THENA$=CHR$(0) 1660 D=2:GOSUB2840 1670 PRINT" [198]ARBE [210]AHMEN ";COL$ 1680 : 1690 REM BACKGROUND COLOUR (69) 1700 GET#1,A$:IFA$=""THENA$=CHR$(0) 1710 D=3:GOSUB2840 1720 PRINT" [198]ARBE [200]INTERGRUND ";COL$ 1730 : 1740 REM DUMMY (70-199) 1750 FORJ=70TO199 1760 GET#1,A$:IFA$=""THENA$=CHR$(0) 1770 NEXT 1780 : 1790 PRINT" WEITER ? >J< " 1800 GETJN$:IFJN$=""THEN1800 1810 IFJN$<>"J"THEN2410 1820 PRINT"[147]" 1830 : 1840 REM ------------------------------ 1850 REM ALLE SEITEN UEBERNEHMEN ? 1860 IP=-1:REM SEITENZAEHLER 1870 PRINT"[211]OLL [215][207][210][203] [208][193][199][197][160]MIT UEBERTRAGEN WERDEN? >J/N<" 1880 GETJN$:IFJN$=""THEN1880 1890 IFJN$="N"THENWP=0 1900 IFJN$="J"THENWP=1 1910 IFJN$<>"J"ANDJN$<>"N"THEN1870 1920 PRINT"[211]OLL [200][197][193][196][197][210][160][208][193][199][197] MIT UEBERTRAGEN WERDEN? >J/N<" 1930 GETJN$:IFJN$=""THEN1930 1940 IFJN$="N"THENHP=0 1950 IFJN$="J"THENHP=1 1960 IFJN$<>"J"ANDJN$<>"N"THEN1920 1970 PRINT"[211]OLL [198][207][207][212][197][210][160][208][193][199][197] MIT UEBERTRAGEN WERDEN? >J/N<" 1980 GETJN$:IFJN$=""THEN1980 1990 IFJN$="N"THENFP=0 2000 IFJN$="J"THENFP=1 2010 IFJN$<>"J"ANDJN$<>"N"THEN1970 2020 PRINT"[147]" 2030 : 2040 REM ------------------------------ 2050 REM TEXT EINLESEN 2060 IFGE=8THENPRINT" [194]ITTE WARTEN ICH ARBEITE" 2070 FL=0:REM SPALTENZAEHLER FORMATZEILE 2080 I=0:REM SPALTENZAEHLER TEXTZEILE 2090 AA$="":REM TEXTZEILE 2100 GET#1,A$:IFA$=""THENA$=CHR$(0) 2110 : 2120 REM ------------------------------ 2130 REM BILDSCHIRM-CODE -> ASCII-CODE 2140 IFASC(A$)=220THENAA$=AA$+A$:GOTO2270:REM RETURN 2150 IFASC(A$)=230THEN2730:REM FORMAT LINE 2160 IFASC(A$)=241THEN2490:REM END PAGE 2170 IFASC(A$)=255THEN2310:REM END TEXT 2180 IFASC(A$)>=0ANDASC(A$)<32THENA$=CHR$(ASC(A$)+64):GOTO2210 2190 IFASC(A$)>=64ANDASC(A$)<128THENA$=CHR$(ASC(A$)+128):GOTO2210 2200 : 2210 AA$=AA$+A$:I=I+1:REM ZEILE ZUSAMMENSTELLEN 2220 IFI=FLTHEN2600:REM ZEILE OHNE RETURN ABBRECHEN 2230 GOTO2100 2240 : 2250 REM ------------------------------ 2260 REM TEXTZEILE AUSGEBEN 2270 IFWP=1THENPRINT#2,AA$ 2280 GOTO2080 2290 : 2300 REM ------------------------------ 2310 REM PROGRAMMENDE 2320 IFGF$<>"G"THEN2410:REM CHECK GLOBAL 2330 PRINT"[147] SOLL [198]ILE : "NA$:PRINT" ANGEHAENGT WERDEN? >J/N<" 2340 GETJN$:IFJN$=""THEN2340 2350 IFJN$<>"J"THEN2410 2360 CLOSE1 2370 OPEN1,8,5,NA$+",P,R" 2380 GOSUB3190 2390 PRINT"[147]" 2400 GOTO310 2410 POKE53272,21:REM GROSS/GRAFIK 2420 CLOSE2 2430 CLOSE1 2440 CLOSE15 2450 END 2460 : 2470 REM ------------------------------ 2480 REM SEITENUEBERNAHME SCHALTEN 2490 IFWP=1ANDI<>0THENPRINT#2,AA$ 2500 AA$=A$ 2510 IFIP=-1ANDWP=0THENAA$="" 2520 IP=IP+1 2530 WP=1:REM WIRD ALS SCHALTER BENUTZT 2540 IFIP=SEANDHP=0THENWP=0 2550 IFIP=SE+1ANDFP=0THENWP=0 2560 GOTO2270 2570 : 2580 REM ------------------------------ 2590 REM ZEILENENDE BESTIMMEN 2600 FI=FL 2610 IFMID$(AA$,FI,1)=" "ORMID$(AA$,FI,1)="-"THEN2660 2620 FI=FI-1 2630 IFFI=1THEN2650 2640 GOTO2610 2650 FI=FL 2660 PRINT#2,LEFT$(AA$,FI) 2670 I=FL-FI 2680 AA$=RIGHT$(AA$,I) 2690 GOTO2100 2700 : 2710 REM ------------------------------ 2720 REM LAENGE DER FORMATZEILE BEST. 2730 FL=1 2740 TAB=0:REM ERSTEN TABULATOR FINDEN 2750 AA$=AA$+A$ 2760 GET#1,A$:IFA$=""THENA$=CHR$(0) 2770 AA$=AA$+A$:FL=FL+1 2780 IFTAB=0ANDASC(A$)=219THENFL=0:TAB=1 2790 IFASC(A$)=220THEN2270:REM RETURN 2800 GOTO2760 2810 : 2820 REM ------------------------------ 2830 REM FARBE BESTIMMEN 2840 A=ASC(A$) 2850 IFD=1THEN2870 2860 IFD=2THENA=A-240 2870 IFA=0THENCOL$="SCHWARZ" 2880 IFA=1THENCOL$="WEISS" 2890 IFA=2THENCOL$="ROT" 2900 IFA=3THENCOL$="TUERKIS" 2910 IFA=4THENCOL$="VIOLETT" 2920 IFA=5THENCOL$="GRUEN" 2930 IFA=6THENCOL$="BLAU" 2940 IFA=7THENCOL$="GELB" 2950 IFA=8THENCOL$="ORANGE" 2960 IFA=9THENCOL$="BRAUN" 2970 IFA=10THENCOL$="HELLROT" 2980 IFA=11THENCOL$="GRAU 1" 2990 IFA=12THENCOL$="GRAU 2" 3000 IFA=13THENCOL$="HELLGRUEN" 3010 IFA=14THENCOL$="HELLBLAU" 3020 IFA=15THENCOL$="GRAU 3" 3030 IFA=16THENCOL$="SCHWARZ" 3040 IFA=17THENCOL$="WEISS" 3050 IFA=18THENCOL$="ROT" 3060 IFA=35THENCOL$="TUERKIS" 3070 IFA=36THENCOL$="VIOLETT" 3080 IFA=53THENCOL$="GRUEN" 3090 RETURN 3100 : 3110 REM ------------------------------ 3120 REM FEHLERBEHANDLUNG 3130 PRINT" FEHLER !!!" 3140 PRINT" DIES IST KEIN DURCH VIZAWRITE ERSTELLTER TEXT" 3150 GOTO2410 3160 : 3170 REM ------------------------------ 3180 REM FEHLERKANAL LESEN 3190 INPUT#15,FW,FX$,FY,FZ 3200 IFFW=0THENRETURN 3210 PRINT" FEHLER: ";FW;FX$ 3220 GOTO2410